package twitter;

import java.util.ArrayList;
import java.util.Set;

public abstract class Clusterizador {

	protected Set<Set<String>> cjtoFinalClusters;
	
	public abstract void ejecutar();


	protected double calcularDistancia(Dendrogram t1, double[] centroide){
		return 1.0 - t1.coseno(centroide);
	}
	
	protected double[] calcularCentroide(ArrayList<double[]> puntosCluster){
		int elementosCluster = puntosCluster.size();
		double[] sumaVectores = new double[puntosCluster.get(0).length];
		for (int i = 0; i < sumaVectores.length; i++) {
			sumaVectores[i]= puntosCluster.get(0)[i];
		}
		for (int i = 1; i < elementosCluster; i++) {
			for (int j = 0; j < sumaVectores.length; j++) {
				sumaVectores[j] += puntosCluster.get(i)[j];
			}
		}
		for (int i = 0; i < sumaVectores.length; i++) {
			sumaVectores[i]/= elementosCluster;
		}
		return sumaVectores;
	}
	
	public Set<Set<String>> dameCjtoClusters(){
		return cjtoFinalClusters;
	}
}
